Understanding Cpu: Cores, Threads, Cache, And Nanometer Design!